// pages/citylist/citylist.js
const map = require('../../libs/map.js')
// 引入SDK核心类，js文件根据自己业务，位置可自行放置
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
var qqmapsdk;

Page({
  /** 页面的初始数据 */
  data: {
    citymap: map,
    letter: 'A',
    cityname: '定位中...'
  },

  /** 当点击定位城市后 */
  tapLocCity(){
    let cn = this.data.cityname;
    if(cn=='定位中...' || cn=='定位失败，点击重试'){
      // 若定位失败则重新定位
      this.setData({cityname: '定位中...'})
      this.loadLocation();
    }else{
      // 若当前已经定位成功，则将城市名称存入globalData
      // 返回上一页即可
      getApp().globalData.cityname = cn; 
      wx.navigateBack();
    }
  },

  /** 加载位置 */
  loadLocation(){
    // 构建qqmapsdk
    qqmapsdk = new QQMapWX({
      key: 'VU7BZ-HWYCU-2IAVJ-47XOI-N5RAS-PYBY6'
    }); 
    qqmapsdk.reverseGeocoder({
      success: (res)=>{
        console.log(res);
        // 输出当前城市名称   更新左上角
        let cityname = res.result.address_component.city;
        console.log(cityname);
        this.setData({cityname});
      },
      fail: (err)=>{
        console.warn(err);
        // 判断
        if(err.status==120){
          wx.showToast({
            title: '定位太频繁了，慢点~',
            icon: 'none'
          })
          return;
        }
        this.setData({
          cityname: '定位失败，点击重试'
        });
        // 弹个窗，提示用户赋予定位权限
        // 引领用户到达设置页面
        wx.showModal({
          title: '授权提示',
          content: '当前小程序尚未赋予定位权限，是否去往设置页面重新赋予定位权限？',
          cancelText: '再想想',
          confirmText: '去设置',
          confirmColor: '#fd2222',
          success: (res)=>{
            console.log(res);
            if(res.confirm){  // 用户点击了去设置 
              wx.openSetting({
                success: (settingRes)=>{
                  console.log(settingRes);
                }
              })
            }
          }
        })

      }
    })
  },

  /** 点击scrollview后，获取当前选中的城市 */
  tapCity(event){
    let cn = event.target.dataset.cityname;
    console.log(cn);
    if(cn==undefined){
      return;
    }
    // 将cn存入globalData
    getApp().globalData.cityname = cn;
    wx.navigateBack(); // 返回上一页
  },

  /** 点击右侧边栏导航时 */
  tapLetter(event){
    let letter = event.target.dataset.let;
    console.log(letter);
    // 更新data中的数据
    this.setData({ letter });
  },

  move(){
    // 拿到坐标位置，计算当前移动到的位置是哪个字母
    // 更新UI。
  },

  /** 生命周期函数--监听页面加载 */
  onLoad: function (options) {
    console.log(map);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 重新加载当前定位城市
    this.loadLocation();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})